package com.cqupt.service;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface ReportExportService {
    //各个监控项数据导出
    void ExportData(String status,Integer hostType);

    //获得服务器监控项的信息
    Boolean getItem_by_DataInfo(String hostids,String startTime,String endTime, HttpServletResponse response);

    //获得选中事件的监控项信息
    List<List> getItemDataInfo_select_event(String hostids,String startTime,String endTime);

    //巡检报告各信息
    Boolean InspectionData(String status,Integer hostType,HttpServletResponse response);

    //获得全部的告警问题  即acknowledge true和false同时输出
    List<Map<String,Object>> getAllProblems(String token,String startDate,String endDate);

    //通过acknowledge过滤告警问题     true为已知晓(确定)的告警  false为未知晓(确定)的告警
    List<Map<String,Object>> getProblems(String token,String startDate,String endDate,Boolean acknowledged);

    //获得历史告警信息
    List<Map<String,Object>> getHistoryAlertAndOrder(String startDate,String endDate);

    //告警统计(按日期导出全部)
    Boolean getHistoryAlert(String startDate,String endDate,HttpServletResponse response);

    //告警分类统计(top10，告警分布统计+图，告警按日期统计，eg.周一周二周三...一月二月三月....)
    Boolean getHistoryAlertClassify(String startDate,String endDate,String imgsURl,HttpServletResponse response);

    //获得告警分布 统计+图形
    List<Map<String,Object>> getAlarmDistributionAndChart(String startDate,String endDate);
    //获得告警分布饼图数据
    List<List> getAlarmDistributionAndChartData(String startDate,String endDate);

    //获得资源报表信息,无参，导出全部
    void getResource(HttpServletResponse response);
    //新  获得资源报表信息,无参，导出全部
    Boolean getResource_new(String hostType,HttpServletResponse response);
    //提供echart图数据
    List<Map<String,Object>> getRsource_charts(String hostType);

    // 根据设备hostid获得一个可用设备
    List<Map<String, Object>> getAllOnlineHost(String hostid);
    // 根据设备hostid获得一个可用设备（无参）
    List<Map<String, Object>> getAllOnlineHost();

    // 获得告警top10前端展示
    List<Map<String,Object>> getAlertTop10(String dateStr);

    // 获得所有未处理告警信息
    List<Map<String,Object>> getAllCurrentUnhandledProblems(String token,String startDate, String endDate);

}
